Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
En los cierres, sabemos que para cada iteración de bucle, la variable "i" es una copia nueva, entonces, ¿por qué const "i" no funciona en un bucle?

/ este código funciona y cada devolución de llamada hace referencia a una "i" diferente, indica que para cada iteración de ciclo se crea una nueva copia de "i", debido a que la devolución de llamada forma un cierre con una "i" distinta cada vez /

 const arr = [10, 12, 15, 21]; for (let i = 0; i < arr.length; i++) { setTimeout(function() { console.log('Index: ' + i + ', element: '+ arr[i]); }, 3000) }

/ Esto da error: Asignación a variable constante. ¿Por qué no en este caso se crea una nueva constante "i" para cada iteración del ciclo?

 const arr = [10, 12, 15, 21]; for (const i = 0; i < arr.length; i++) { setTimeout(function() { console.log('Index: ' + i + ', element: '+ arr[i]); }, 3000) }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

++i no modifica la instancia de i ; crea una nueva instancia con un valor incrementado y se la vuelve a asignar a i . Si i se define como const , no puede volver a asignarle el valor y, por lo tanto, el error.

about 4 years ago · Juan Pablo Isaza Report

0

Debido a que una constante no debe cambiarse, no puede i++ en una constante.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!